home *** CD-ROM | disk | FTP | other *** search
- class PickupArray extends Array
- {
- function PickupArray()
- {
- super();
- if(arguments.length > 1)
- {
- this.splice.apply(this,[0,0].concat(arguments));
- }
- else if(arguments.length == 0)
- {
- var _loc4_ = 0;
- while(_loc4_ < arguments[0])
- {
- this[_loc4_] = undefined;
- _loc4_ = _loc4_ + 1;
- }
- }
- }
- function pickupsAt(min, max)
- {
- var _loc3_ = [];
- var _loc4_ = this.length;
- var _loc2_ = 0;
- while(_loc2_ < _loc4_)
- {
- if(this[_loc2_].d > max)
- {
- break;
- }
- if(this[_loc2_].d >= min)
- {
- _loc3_[_loc3_.length] = this[_loc2_];
- }
- else
- {
- this.shift();
- _loc2_ = _loc2_ - 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- return _loc3_;
- }
- function copy()
- {
- var _loc3_ = new PickupArray();
- var _loc2_ = 0;
- while(_loc2_ < this.length)
- {
- _loc3_[_loc2_] = this[_loc2_].copy();
- _loc2_ = _loc2_ + 1;
- }
- return _loc3_;
- }
- function pickupSort()
- {
- this.sort(PickupArray.distSort);
- }
- function toString()
- {
- return this.join(",\n");
- }
- static function distSort(a, b)
- {
- if(a.d > b.d)
- {
- return 1;
- }
- if(a.d < b.d)
- {
- return -1;
- }
- return 0;
- }
- }
-